package com.linkstec.bookshop.service;

import java.util.List;

import com.linkstec.bookshop.pojo.Goods;
import com.linkstec.bookshop.util.PageBean;
import com.linkstec.bookshop.vo.GoodsVo;

/**
 * 
 * @ClassName: GoodsService 商品的服务接口
 * @Description:TODO
 * @author: JGQiang
 * @date: 2018年11月23日 上午11:16:55
 */
public interface GoodsService {

	/**
	 * 
	 * @Description:TODO 查找热门商品
	 * @author: JGQiang
	 * @date: 2018年11月23日 上午11:17:05
	 * @return
	 */
	List<GoodsVo> findHot() throws RuntimeException;

	/**
	 * 
	 * @Description:TODO 按照商品分类，带分页的查询
	 * @author: JGQiang
	 * @date: 2018年11月23日 下午3:12:36
	 * @param cgId
	 * @param page
	 * @return
	 */
	PageBean<GoodsVo> findGoodsByCategory(int cgId, int page) throws RuntimeException;

	/**
	 * 
	 * @Description:TODO 模糊查询商品，含分页
	 * @author: JGQiang
	 * @date: 2018年11月25日 下午12:02:45
	 * @param page
	 * @param condition
	 * @return
	 */
	PageBean<GoodsVo> findGoodsVague(int page, String condition) throws RuntimeException;

	/**
	 * 
	 * @Description:TODO 跳转到商品详情页
	 * @author: JGQiang
	 * @date: 2018年11月26日 上午9:28:32
	 * @param goodsId
	 * @return
	 */
	GoodsVo findOneGoodsDetail(int goodsId) throws RuntimeException;

	/**
	 * @Description:TODO 所有的goods信息
	 * @author: yanyuan
	 * @date: 2018年11月26日 下午4:38:50
	 * @param page
	 * @return
	 */
	PageBean<GoodsVo> findAllGoods(int page) throws RuntimeException;

	/**
	 * @Description:TODO
	 * @author: yanyuan
	 * @date: 2018年11月27日 上午9:37:51
	 * @param goods
	 */
	void update(Goods goods, int addNum) throws RuntimeException;

	void goodsOffline(int goodsId) throws RuntimeException;

	void goodsOnline(int goodsId) throws RuntimeException;

	void add(int bookId) throws RuntimeException;

	GoodsVo findOneGoodsDetailById(int goodsId) throws RuntimeException;

}
